home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Format CD 23
/
Amiga Format AFCD23 (Feb 1998, Issue 107).iso
/
+look_here_1st!+
/
reader_requests
/
alienbreed3d2
/
cheesesauce
/
protectionprotection
< prev
next >
Wrap
Text File
|
1997-11-28
|
3KB
|
214 lines
CALCEDK SET 0
; PROTFCHECK
; PROTGCHECK
; PROTHCHECK
; PROTICHECK a0
; PROTKCHECK a0
; PROTLCHECK a0
; PROTMCHECK a0
; Protcheck a-f are protsetup decoding parts.
; Protchech G is the call to PROTSETUP and must
; be well protected.
; Protcheck H is the call to DEFAULTGAME.
; Protcheck I is the call to the protection
; routine for the second time.
; J is the protection setup routine (encrypted.)
; needs to be checksummed before and after use.
; K is the hidden routine iteslf. Also needs checking
; L is the initial check for correct entering of
; the protection code.
; M is a random addition to RVAL2
; N is an addition to RVAL1
PROTACALC MACRO
ENDM
PROTACHECK MACRO
ENDM
PROTBCALC MACRO
ENDM
PROTBCHECK MACRO
ENDM
PROTCCALC MACRO
ENDM
PROTCCHECK MACRO
ENDM
PROTDCALC MACRO
ENDM
PROTDCHECK MACRO
ENDM
PROTECALC MACRO
ENDM
PROTECHECK MACRO
ENDM
PROTFCALC MACRO
ENDM
PROTFCHECK MACRO
ENDM
PROTGCALC MACRO
ENDM
PROTGCHECK MACRO
ENDM
PROTHCALC MACRO
move.l ProtChkHLev1,d0
add.l ProtChkHLev1+4,d0
move.l d0,ProtValH
ENDM
PROTHCHECK MACRO
; move.l ProtChkHLev1,d0
; add.l ProtChkHLev1+4,d0
; cmp.l #$f5a70d5b,d0
; beq.s NOBLOWI
; rts
;NOBLOWI:
;
ENDM
PROTICALC MACRO
ENDM
PROTICHECK MACRO
;
; lea ProtChkILev1-2300,\1
; cmp.l #RealTable-2000,2300+2(\1)
; bne.s .BLOWUPH
; cmp.l #PROTCALC-5000,2300+6+2(\1)
; bne.s .BLOWUPH
; cmp.l #ASKFORPROT-10000,2300+12+2(\1)
; bne.s .BLOWUPH
; cmp.l #PROTCALLENC-800,2300+18+2(\1)
; bne.s .BLOWUPH
; cmp.l #800,26+2300(\1)
; beq.s .NOBLOWUPH
;.BLOWUPH:
; sub.l #4001,a7
; jmp $504000
;.NOBLOWUPH:
;
ENDM
PROTJCALC MACRO
ENDM
PROTJCHECK MACRO
ENDM
PROTKCALC MACRO
move.l #PROTCALLENC,a0
move.l #(ENDPROT-PROTCALLENC)/4-1,d1
move.l #0,d0
codeitup:
add.l (a0)+,d0
ror.l #1,d0
dbra d1,codeitup
move.l d0,ProtValK
ENDM
PROTKCHECK MACRO
; move.l #PROTCALLENC-2500,\1
; add.l #2500,\1
; move.l #(ENDPROT-PROTCALLENC)/4-1,d1
; move.l #0,d0
;codeitupk:
; add.l (\1)+,d0
; ror.l #1,d0
; dbra d1,codeitupk
;
; cmp.l #$CEE52EF9,d0
; beq.s .NOBLOWUPK
; movem.l (a7)+,d0/d3/d5/d7/a2/a4/a6
; rts
;.NOBLOWUPK:
ENDM
PROTLCALC MACRO
ENDM
PROTLCHECK MACRO
; move.l #ProtChkLLev1-4000,\1
; add.l #4000,\1
; cmp.l #protA,2(\1)
; bne.s .BLOWUP
; cmp.l #$66062e7c,6(\1)
; bne.s .BLOWUP
; tst.l 10(\1)
; beq.s .NOBLOWUP
;.BLOWUP
; addq #8,a7
;.NOBLOWUP:
;
ENDM
PROTMCALC MACRO
; move.l #ProtChkMLev1,a0
; moveq #0,d0
; add.l (a0)+,d0
; sub.l (a0)+,d0
; add.l (a0)+,d0
; add.w (a0)+,d0
; move.l d0,ProtValM
ENDM
PROTMCHECK MACRO
; move.l #ProtChkMLev1-3400,\1
; add.l #3400,\1
; moveq #0,d0
; add.l (\1)+,d0
; sub.l (\1)+,d0
; add.l (\1)+,d0
; add.w (\1)+,d0
; cmp.l #$888990b1,d0
; beq.s .NOBLOWUPM
;
; add.l #2000,a7
; jmp $40000
;
;.NOBLOWUPM:
;
ENDM
PROTNCALC MACRO
ENDM
PROTNCHECK MACRO
ENDM